(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
filter(cons(z0), 0, z1) → cons(0)
filter(cons(z0), s(z1), z2) → cons(z0)
sieve(cons(0)) → cons(0)
sieve(cons(s(z0))) → cons(s(z0))
nats(z0) → cons(z0)
zprimes → sieve(nats(s(s(0))))
Tuples:
ZPRIMES → c5(SIEVE(nats(s(s(0)))), NATS(s(s(0))))
S tuples:
ZPRIMES → c5(SIEVE(nats(s(s(0)))), NATS(s(s(0))))
K tuples:none
Defined Rule Symbols:
filter, sieve, nats, zprimes
Defined Pair Symbols:
ZPRIMES
Compound Symbols:
c5
(3) CdtGraphRemoveDanglingProof (ComplexityIfPolyImplication transformation)
Removed 1 of 1 dangling nodes:
ZPRIMES → c5(SIEVE(nats(s(s(0)))), NATS(s(s(0))))
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
filter(cons(z0), 0, z1) → cons(0)
filter(cons(z0), s(z1), z2) → cons(z0)
sieve(cons(0)) → cons(0)
sieve(cons(s(z0))) → cons(s(z0))
nats(z0) → cons(z0)
zprimes → sieve(nats(s(s(0))))
Tuples:none
S tuples:none
K tuples:none
Defined Rule Symbols:
filter, sieve, nats, zprimes
Defined Pair Symbols:none
Compound Symbols:none
(5) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(6) BOUNDS(O(1), O(1))